package com.xquant.pricing.calc.entity;


import com.xquant.common.core.annotation.Excel;
import com.xquant.common.core.web.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 期货行情表
 *
 * @TableName texg_dailyprice
 */
public class StockPriceDTO extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 生效日期
     */
    @Excel(name = "生效日期")
    private String begDate;

    /**
     * 交易代码
     */
    @Excel(name = "股票代码")
    private String iCode;

    /**
     * 资产类型
     */
    private String aType;

    /**
     * 市场类型
     */
    @Excel(name = "市场类型")
    private String mType;

    /**
     * 开盘价
     */
    @Excel(name = "开盘价")
    private BigDecimal dpOpen;

    /**
     * 收盘价
     */
    @Excel(name = "收盘价")
    private BigDecimal dpClose;

    /**
     * 最高价
     */
    @Excel(name = "最高价")
    private BigDecimal dpHigh;

    /**
     * 最低价
     */
    @Excel(name = "开低价")
    private BigDecimal dpLow;

    /**
     * 平均价
     */
    @Excel(name = "平均价")
    private BigDecimal dpAvg;

    /**
     * 结算价
     */
    private BigDecimal dpSet;

    /**
     * 市场份额
     */
    private BigDecimal dpMktShare;

    /**
     * 数量
     */
    private BigDecimal dpAmount;

    /**
     * 规模
     */
    private BigDecimal dpVolume;

    /**
     * PE
     */
    private BigDecimal dpPe;

    /**
     * PB
     */
    private BigDecimal dpPb;

    /**
     * 失效日期
     */
    private String endDate;

    /**
     * 导入日期
     */
    private String impDate;

    /**
     * 管道号
     */
    private BigDecimal pipeId;

    /**
     * 导入时间
     */
    private String impTime;

    /**
     * 日涨跌
     */
    private BigDecimal dpChange;

    /**
     * 来源时间
     */
    private String sourceTime;

    /**
     * 换手率
     */
    private BigDecimal dpTurnover;

    /**
     * 未平仓数量
     */
    private BigDecimal dpUnoffsetVolume;

    /**
     * 总市值
     */
    private BigDecimal dpTotalmtm;


    /**
     * 生效日期
     */
    public String getBegDate() {
        return begDate;
    }

    /**
     * 生效日期
     */
    public void setBegDate(String begDate) {
        this.begDate = begDate;
    }

    /**
     * 交易代码
     */
    public String getiCode() {
        return iCode;
    }

    /**
     * 交易代码
     */
    public void setiCode(String iCode) {
        this.iCode = iCode;
    }

    /**
     * 资产类型
     */
    public String getaType() {
        return aType;
    }

    /**
     * 资产类型
     */
    public void setaType(String aType) {
        this.aType = aType;
    }

    /**
     * 市场类型
     */
    public String getmType() {
        return mType;
    }

    /**
     * 市场类型
     */
    public void setmType(String mType) {
        this.mType = mType;
    }

    /**
     * 开盘价
     */
    public BigDecimal getDpOpen() {
        return dpOpen;
    }

    /**
     * 开盘价
     */
    public void setDpOpen(BigDecimal dpOpen) {
        this.dpOpen = dpOpen;
    }

    /**
     * 收盘价
     */
    public BigDecimal getDpClose() {
        return dpClose;
    }

    /**
     * 收盘价
     */
    public void setDpClose(BigDecimal dpClose) {
        this.dpClose = dpClose;
    }

    /**
     * 最高价
     */
    public BigDecimal getDpHigh() {
        return dpHigh;
    }

    /**
     * 最高价
     */
    public void setDpHigh(BigDecimal dpHigh) {
        this.dpHigh = dpHigh;
    }

    /**
     * 最低价
     */
    public BigDecimal getDpLow() {
        return dpLow;
    }

    /**
     * 最低价
     */
    public void setDpLow(BigDecimal dpLow) {
        this.dpLow = dpLow;
    }

    /**
     * 平均价
     */
    public BigDecimal getDpAvg() {
        return dpAvg;
    }

    /**
     * 平均价
     */
    public void setDpAvg(BigDecimal dpAvg) {
        this.dpAvg = dpAvg;
    }

    /**
     * 结算价
     */
    public BigDecimal getDpSet() {
        return dpSet;
    }

    /**
     * 结算价
     */
    public void setDpSet(BigDecimal dpSet) {
        this.dpSet = dpSet;
    }

    /**
     * 市场份额
     */
    public BigDecimal getDpMktShare() {
        return dpMktShare;
    }

    /**
     * 市场份额
     */
    public void setDpMktShare(BigDecimal dpMktShare) {
        this.dpMktShare = dpMktShare;
    }

    /**
     * 数量
     */
    public BigDecimal getDpAmount() {
        return dpAmount;
    }

    /**
     * 数量
     */
    public void setDpAmount(BigDecimal dpAmount) {
        this.dpAmount = dpAmount;
    }

    /**
     * 规模
     */
    public BigDecimal getDpVolume() {
        return dpVolume;
    }

    /**
     * 规模
     */
    public void setDpVolume(BigDecimal dpVolume) {
        this.dpVolume = dpVolume;
    }

    /**
     * PE
     */
    public BigDecimal getDpPe() {
        return dpPe;
    }

    /**
     * PE
     */
    public void setDpPe(BigDecimal dpPe) {
        this.dpPe = dpPe;
    }

    /**
     * PB
     */
    public BigDecimal getDpPb() {
        return dpPb;
    }

    /**
     * PB
     */
    public void setDpPb(BigDecimal dpPb) {
        this.dpPb = dpPb;
    }

    /**
     * 失效日期
     */
    public String getEndDate() {
        return endDate;
    }

    /**
     * 失效日期
     */
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    /**
     * 导入日期
     */
    public String getImpDate() {
        return impDate;
    }

    /**
     * 导入日期
     */
    public void setImpDate(String impDate) {
        this.impDate = impDate;
    }

    /**
     * 管道号
     */
    public BigDecimal getPipeId() {
        return pipeId;
    }

    /**
     * 管道号
     */
    public void setPipeId(BigDecimal pipeId) {
        this.pipeId = pipeId;
    }

    /**
     * 导入时间
     */
    public String getImpTime() {
        return impTime;
    }

    /**
     * 导入时间
     */
    public void setImpTime(String impTime) {
        this.impTime = impTime;
    }

    /**
     * 日涨跌
     */
    public BigDecimal getDpChange() {
        return dpChange;
    }

    /**
     * 日涨跌
     */
    public void setDpChange(BigDecimal dpChange) {
        this.dpChange = dpChange;
    }

    /**
     * 来源时间
     */
    public String getSourceTime() {
        return sourceTime;
    }

    /**
     * 来源时间
     */
    public void setSourceTime(String sourceTime) {
        this.sourceTime = sourceTime;
    }

    /**
     * 换手率
     */
    public BigDecimal getDpTurnover() {
        return dpTurnover;
    }

    /**
     * 换手率
     */
    public void setDpTurnover(BigDecimal dpTurnover) {
        this.dpTurnover = dpTurnover;
    }

    /**
     * 未平仓数量
     */
    public BigDecimal getDpUnoffsetVolume() {
        return dpUnoffsetVolume;
    }

    /**
     * 未平仓数量
     */
    public void setDpUnoffsetVolume(BigDecimal dpUnoffsetVolume) {
        this.dpUnoffsetVolume = dpUnoffsetVolume;
    }

    /**
     * 总市值
     */
    public BigDecimal getDpTotalmtm() {
        return dpTotalmtm;
    }

    /**
     * 总市值
     */
    public void setDpTotalmtm(BigDecimal dpTotalmtm) {
        this.dpTotalmtm = dpTotalmtm;
    }


    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getBegDate() == null) ? 0 : getBegDate().hashCode());
        result = prime * result + ((getiCode() == null) ? 0 : getiCode().hashCode());
        result = prime * result + ((getaType() == null) ? 0 : getaType().hashCode());
        result = prime * result + ((getmType() == null) ? 0 : getmType().hashCode());
        result = prime * result + ((getDpOpen() == null) ? 0 : getDpOpen().hashCode());
        result = prime * result + ((getDpClose() == null) ? 0 : getDpClose().hashCode());
        result = prime * result + ((getDpHigh() == null) ? 0 : getDpHigh().hashCode());
        result = prime * result + ((getDpLow() == null) ? 0 : getDpLow().hashCode());
        result = prime * result + ((getDpAvg() == null) ? 0 : getDpAvg().hashCode());
        result = prime * result + ((getDpSet() == null) ? 0 : getDpSet().hashCode());
        result = prime * result + ((getDpMktShare() == null) ? 0 : getDpMktShare().hashCode());
        result = prime * result + ((getDpAmount() == null) ? 0 : getDpAmount().hashCode());
        result = prime * result + ((getDpVolume() == null) ? 0 : getDpVolume().hashCode());
        result = prime * result + ((getDpPe() == null) ? 0 : getDpPe().hashCode());
        result = prime * result + ((getDpPb() == null) ? 0 : getDpPb().hashCode());
        result = prime * result + ((getEndDate() == null) ? 0 : getEndDate().hashCode());
        result = prime * result + ((getImpDate() == null) ? 0 : getImpDate().hashCode());
        result = prime * result + ((getPipeId() == null) ? 0 : getPipeId().hashCode());
        result = prime * result + ((getImpTime() == null) ? 0 : getImpTime().hashCode());
        result = prime * result + ((getDpChange() == null) ? 0 : getDpChange().hashCode());
        result = prime * result + ((getSourceTime() == null) ? 0 : getSourceTime().hashCode());
        result = prime * result + ((getDpTurnover() == null) ? 0 : getDpTurnover().hashCode());
        result = prime * result + ((getDpUnoffsetVolume() == null) ? 0 : getDpUnoffsetVolume().hashCode());
        result = prime * result + ((getDpTotalmtm() == null) ? 0 : getDpTotalmtm().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", begDate=").append(begDate);
        sb.append(", iCode=").append(iCode);
        sb.append(", aType=").append(aType);
        sb.append(", mType=").append(mType);
        sb.append(", dpOpen=").append(dpOpen);
        sb.append(", dpClose=").append(dpClose);
        sb.append(", dpHigh=").append(dpHigh);
        sb.append(", dpLow=").append(dpLow);
        sb.append(", dpAvg=").append(dpAvg);
        sb.append(", dpSet=").append(dpSet);
        sb.append(", dpMktShare=").append(dpMktShare);
        sb.append(", dpAmount=").append(dpAmount);
        sb.append(", dpVolume=").append(dpVolume);
        sb.append(", dpPe=").append(dpPe);
        sb.append(", dpPb=").append(dpPb);
        sb.append(", endDate=").append(endDate);
        sb.append(", impDate=").append(impDate);
        sb.append(", pipeId=").append(pipeId);
        sb.append(", impTime=").append(impTime);
        sb.append(", dpChange=").append(dpChange);
        sb.append(", sourceTime=").append(sourceTime);
        sb.append(", dpTurnover=").append(dpTurnover);
        sb.append(", dpUnoffsetVolume=").append(dpUnoffsetVolume);
        sb.append(", dpTotalmtm=").append(dpTotalmtm);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}
